package cn.fl.riskctrl.brdb.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import fl.riskctrl.facade.brdb.dto.BrpiaReportDTO;
import cn.fl.riskctrl.brdb.vo.BrpiaReportVO;


 /**
 * @Description: 百融-个人信息关联（Personal Information Association）接口报告表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class BrpiaReportVOTransform {


	/**
	 * DTO 转  VO
	 * @param po BrpiaReportDTO
	 * @return BrpiaReportVO
	 */
	public static BrpiaReportVO toVO(BrpiaReportDTO dto) {
		BrpiaReportVO  vo = null;
		if (dto != null) { 
			vo = new BrpiaReportVO();
			vo.setId(dto.getId());
			vo.setUsrNm(dto.getUsrNm());//名称
			vo.setCertNo(dto.getCertNo());//证件号码
			vo.setCertTypCd(dto.getCertTypCd());//证件类型(CST0005)
			vo.setMp(dto.getMp());//手机号码
			vo.setIdRMpQty(dto.getIdRMpQty());//身份证关联的手机号个数(ir_id_x_cell_cnt)->0-N
			vo.setIdRMailQty(dto.getIdRMailQty());//身份证关联的邮箱个数(ir_id_x_mail_cnt)->0-N
			vo.setIrIdXNameCnt(dto.getIrIdXNameCnt());//手机号关联的身份证个数(ir_cell_x_id_cnt)->0-N
			vo.setIrCellXIdCnt(dto.getIrCellXIdCnt());//手机号关联的邮箱个数(ir_cell_x_mail_cnt)->0-N
			vo.setIrCellXMailCnt(dto.getIrCellXMailCnt());//身份证是否在手机号关联的以往身份证列表中(ir_id_inlistwith_cell)->1：是，0：否，空：没有以往关联
			vo.setIrCellXNameCnt(dto.getIrCellXNameCnt());//手机号是否在身份证关联的以往手机号列表中(ir_cell_inlistwith_id)->1：是，0：否，空：没有以往关联
			vo.setIrIdInlistwithCell(dto.getIrIdInlistwithCell());//与查询身份证和手机号完全匹配的最近申请距今天数(ir_allmatch_days)->1-N，0表示在查询当天
			vo.setIrCellInlistwithId(dto.getIrCellInlistwithId());//与本次手机号不一致的以往关联手机号的最近一次查询距今天数(ir_id_x_cell_notmat_days)->空：从未变动过，0-N
			vo.setIrAllmatchDays(dto.getIrAllmatchDays());//与本次身份证不一致的以往关联身份证的最近一次查询距今天数(ir_cell_x_id_notmat_days)->空：从未变动过，0-N
			vo.setIrIdXCellNotmatDays(dto.getIrIdXCellNotmatDays());//身份证关联的手机号最近一次变动距今天数(ir_id_x_cell_lastchg_days)
			vo.setIrCellXIdNotmatDays(dto.getIrCellXIdNotmatDays());//手机号关联的身份证最近一次变动距今天数(ir_cell_x_id_lastchg_days)
			vo.setIrIdXCellLastchgDays(dto.getIrIdXCellLastchgDays());//身份证关联的手机号最近一次变动距今天数（空：从未变动过，1-N）
			vo.setIrCellXIdLastchgDays(dto.getIrCellXIdLastchgDays());//手机号关联的身份证最近一次变动距今天数（空：从未变动过，1-N）
			vo.setIrIdIsReabnormal(dto.getIrIdIsReabnormal());//身份证号是否关联异常（1：是，0：否）
			vo.setIrCellIsReabnormal(dto.getIrCellIsReabnormal());//手机号是否关联异常（1：是，0：否）
			vo.setIrMailIsReabnormal(dto.getIrMailIsReabnormal());//邮箱是否关联异常（1：是，0：否，空：未输入邮箱）
			vo.setResultFlag(dto.getResultFlag());//产品输出标识(flag_inforelation)->1(输出成功),0(未匹配上无输出),98(用户输入信息不足),99(系统异常)
			vo.setSpendTm(dto.getSpendTm());//接口耗时(毫秒)product.costTime
			vo.setResultCode(dto.getResultCode());//返回代码(code)
			vo.setSwiftNo(dto.getSwiftNo());//三方数据流水号(swift_number)
			vo.setRemark(dto.getRemark());//备注
			vo.setIsValid(dto.getIsValid());//是否有效(SYS0021)
			vo.setIsDel(dto.getIsDel());//是否删除(SYS0021)

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto BrpiaReportVO
	 * @return BrpiaReportDTO
	 */
	public static BrpiaReportDTO toDTO(BrpiaReportVO vo) {
		BrpiaReportDTO dto = null;
		if (vo != null) {
			dto = new BrpiaReportDTO();
			dto.setId(vo.getId());
			dto.setUsrNm(vo.getUsrNm());//名称
			dto.setCertNo(vo.getCertNo());//证件号码
			dto.setCertTypCd(vo.getCertTypCd());//证件类型(CST0005)
			dto.setMp(vo.getMp());//手机号码
			dto.setIdRMpQty(vo.getIdRMpQty());//身份证关联的手机号个数(ir_id_x_cell_cnt)->0-N
			dto.setIdRMailQty(vo.getIdRMailQty());//身份证关联的邮箱个数(ir_id_x_mail_cnt)->0-N
			dto.setIrIdXNameCnt(vo.getIrIdXNameCnt());//手机号关联的身份证个数(ir_cell_x_id_cnt)->0-N
			dto.setIrCellXIdCnt(vo.getIrCellXIdCnt());//手机号关联的邮箱个数(ir_cell_x_mail_cnt)->0-N
			dto.setIrCellXMailCnt(vo.getIrCellXMailCnt());//身份证是否在手机号关联的以往身份证列表中(ir_id_inlistwith_cell)->1：是，0：否，空：没有以往关联
			dto.setIrCellXNameCnt(vo.getIrCellXNameCnt());//手机号是否在身份证关联的以往手机号列表中(ir_cell_inlistwith_id)->1：是，0：否，空：没有以往关联
			dto.setIrIdInlistwithCell(vo.getIrIdInlistwithCell());//与查询身份证和手机号完全匹配的最近申请距今天数(ir_allmatch_days)->1-N，0表示在查询当天
			dto.setIrCellInlistwithId(vo.getIrCellInlistwithId());//与本次手机号不一致的以往关联手机号的最近一次查询距今天数(ir_id_x_cell_notmat_days)->空：从未变动过，0-N
			dto.setIrAllmatchDays(vo.getIrAllmatchDays());//与本次身份证不一致的以往关联身份证的最近一次查询距今天数(ir_cell_x_id_notmat_days)->空：从未变动过，0-N
			dto.setIrIdXCellNotmatDays(vo.getIrIdXCellNotmatDays());//身份证关联的手机号最近一次变动距今天数(ir_id_x_cell_lastchg_days)
			dto.setIrCellXIdNotmatDays(vo.getIrCellXIdNotmatDays());//手机号关联的身份证最近一次变动距今天数(ir_cell_x_id_lastchg_days)
			dto.setIrIdXCellLastchgDays(vo.getIrIdXCellLastchgDays());//身份证关联的手机号最近一次变动距今天数（空：从未变动过，1-N）
			dto.setIrCellXIdLastchgDays(vo.getIrCellXIdLastchgDays());//手机号关联的身份证最近一次变动距今天数（空：从未变动过，1-N）
			dto.setIrIdIsReabnormal(vo.getIrIdIsReabnormal());//身份证号是否关联异常（1：是，0：否）
			dto.setIrCellIsReabnormal(vo.getIrCellIsReabnormal());//手机号是否关联异常（1：是，0：否）
			dto.setIrMailIsReabnormal(vo.getIrMailIsReabnormal());//邮箱是否关联异常（1：是，0：否，空：未输入邮箱）
			dto.setResultFlag(vo.getResultFlag());//产品输出标识(flag_inforelation)->1(输出成功),0(未匹配上无输出),98(用户输入信息不足),99(系统异常)
			dto.setSpendTm(vo.getSpendTm());//接口耗时(毫秒)product.costTime
			dto.setResultCode(vo.getResultCode());//返回代码(code)
			dto.setSwiftNo(vo.getSwiftNo());//三方数据流水号(swift_number)
			dto.setRemark(vo.getRemark());//备注
			dto.setIsValid(vo.getIsValid());//是否有效(SYS0021)
			dto.setIsDel(vo.getIsDel());//是否删除(SYS0021)

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
}
